<?php

//use core\lib\DingDing;

// 应用目录
define('BASE_PATH', dirname(dirname(realpath(__FILE__))) . "/"); // 框架所在目录
define('CORE', BASE_PATH . 'core'); // 核心文件
define('APP', BASE_PATH . 'app'); // 项目
define('VENDOR', BASE_PATH . 'vendor'); // vendor
define('VIEWS', APP . '/view'); // 视图目录
define('STORAGE', BASE_PATH . 'storage');
define('LOG_PATH', STORAGE . '/logs'); // 日志路径

//注册一个会在php中止时执行的函数
//register_shutdown_function(function () {
//    //获取最后发生的错误
//    $error = error_get_last();
//    if (!empty($error)) {
//        $error['params'] = $_REQUEST;
//        DingDing::sendErrorMsg('系统异常', $error);
//        logger()->error('系统异常', $error);
//    }
//});

// 开启调试模式
define('APP_DEBUG', true);
if (APP_DEBUG) {
    ini_set('display_errors', 'on');
} else {
    ini_set('display_errors', 'off');
}

include CORE . '/Server.php';
spl_autoload_register('\core\Server::load');

require_once BASE_PATH . '/config/cache_key.php';
require_once CORE . '/common/constant.php';
require_once CORE . '/common/helper.php';
require_once CORE . '/common/DotEnv.php';

// 解析.env文件，放到环境变量中，可通过env()去获取
(new DotEnv(BASE_PATH))->load();

\core\Server::run()->send();
